﻿Imports System.Windows.Forms
Imports Sendkey = System.Windows.Forms.SendKeys

Public Class FrmConsulta

#Region "Variables del Formulario"
    Dim cGeneral As New clsGeneral
    Public dt As New DataTable
    Private dv As New DataView
    Dim Seleccionado As Integer
    Dim Seleccionado_2 As Integer
#End Region

#Region "Eventos del Formulario"

    Private Sub FrmConsulta_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
        gi_Codigo_1 = Seleccionado
        If Me.Tag = "Delitos" Then
            gi_Codigo_2 = Seleccionado_2
        End If
        Txt_Filtro.Text = ""
    End Sub

    Private Sub FrmConsulta_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        gi_Codigo_1 = -1  ' gi_Codigo_1 devuelve el código del registro seleccionado, -1 = no ha seleccionado ninguno
        Me.Text = "Consulta de " + Me.Tag
        'dt = ds.Tables(0)
        dv = dt.DefaultView
        Carga_Grid()
    End Sub

    Private Sub Txt_Filtro_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Txt_Filtro.TextChanged
        Dim Columna As String

        ' determina el nombre de la columna con la descripcion
        Columna = ""
        Select Case Me.Tag
            Case "Anomalias"
                Columna = "Nombre"
            Case "Areas"
                Columna = "Nombre"
            Case "Causas_Interrup_Prescripcion"
                Columna = "Nombre"
            Case "Delitos"
                Columna = "Nombre"
            Case "EstadosProcesales"
                Columna = "Nombre"
            Case "Juzgados"
                Columna = "Nombre"
            Case "MateriaTipoAsunto"
                Columna = "Nombre"
            Case "Participacion_Estado"
                Columna = "Nombre"
            Case "Procurador"
                Columna = "Nombre_Procurador"
            Case "Terrenos_Afectados"
                Columna = "Nombre"
            Case "Tipos_Expediente"
                Columna = "Nombre"
            Case "Tipos_Moneda"
                Columna = "Nombre"
            Case "Tipos_Negociacion"
                Columna = "Nombre"
        End Select

        ' ejecuta el filtrado
        dv = dt.DefaultView
        If Txt_Filtro.Text.Trim = "" Then
            dv.RowFilter = Columna & " LIKE '%'"   ' todos los registros
        Else
            dv.RowFilter = Columna & " LIKE '%" & Txt_Filtro.Text.Trim & "%'"
        End If

        ' refresca los datos en el Grid
        Carga_Grid()
    End Sub

    Private Sub DataGrid1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGrid1.CellContentClick
        Seleccionado = DataGrid1.Rows(e.RowIndex).Cells(0).Value
        If Me.Tag = "Delitos" Then
            Seleccionado_2 = DataGrid1.Rows(e.RowIndex).Cells(1).Value
        End If
    End Sub

#End Region

#Region "Metodos del Formulario"

    Sub Carga_Grid()
        ' Limpia las columnas para la asignación alternativa de datos según la tabla y ordenamiento seleccionado
        DataGrid1.Columns.Clear()

        ' Asigna al dataset el binding de la consulta
        DataGrid1.DataSource = Nothing
        DataGrid1.DataSource = dv

        ' Formatea el DataGrid1
        DataGrid1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells

        Select Case Me.Tag
            Case "Anomalias", "Areas", "Causas_Interrup_Prescripcion", "Delitos", _
                "EstadoProcesal", "Participacion_Estado", "Terrenos_Afectados", _
                "Tipos_Expediente", "Tipos_Moneda", "Tipos_Negociacion"
                DataGrid1.Columns.Item(0).Width = 75        ' Codigo
                DataGrid1.Columns.Item(0).HeaderText = "Codigo"
                DataGrid1.Columns.Item(1).Width = 150       ' Descripcion
                DataGrid1.Columns.Item(1).HeaderText = "Descripcion"

            Case "Juzgados", "MateriaTipoAsunto", "Procurador"

            Case ""
                'DataGrid1.Columns.Item(0).Visible = False   ' Procurador_Codigo
                'DataGrid1.Columns.Item(1).Width = 150       ' Procurador_Nombre
                'DataGrid1.Columns.Item(1).HeaderText = "Procurador"
                'DataGrid1.Columns.Item(2).Visible = False   ' Area_Codigo
                'DataGrid1.Columns.Item(3).Width = 150       ' Area_Nombre
                'DataGrid1.Columns.Item(3).HeaderText = "Area"
                'DataGrid1.Columns.Item(4).Width = 75        ' Fecha
                'DataGrid1.Columns.Item(4).HeaderText = "Fecha"
                'DataGrid1.Columns.Item(5).Width = 75        ' Notificaciones
                'DataGrid1.Columns.Item(5).HeaderText = "Notificaciones"
        End Select
        If DataGrid1.Rows.Count >= 1 Then
            ' fuerza la selección de la primera fila 
            Seleccionado = DataGrid1.Rows(0).Cells(0).Value
            If Me.Tag = "Delitos" Then
                Seleccionado_2 = DataGrid1.Rows(0).Cells(1).Value
            End If
        End If
    End Sub

#End Region

End Class